# Place - Suite 330, Boston, MA 02111-1307 USA.
#
-# External CFLAGS can do more harm than good.
-CFLAGS :=
-
override XEN_TARGET_ARCH = x86_32
XEN_ROOT = ../../..
-include $(XEN_ROOT)/Config.mk
+CFLAGS := -I$(XEN_ROOT)/tools/libxc -I.
+include $(XEN_ROOT)/tools/Rules.mk
# The HVM loader is started in 32-bit mode at the address below:
LOADADDR = 0x100000
CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
OBJCOPY = objcopy
-CFLAGS += -I$(XEN_ROOT)/tools/libxc -I. -fno-builtin -O2 -msoft-float
+CFLAGS += -fno-builtin -O2 -msoft-float
LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
SRCS = hvmloader.c mp_tables.c util.c smbios.c
int offset = 0, nr_tables = 0;
struct acpi_20_madt *madt;
struct acpi_20_tcpa *tcpa;
- static const uint16_t tis_did_vid_rid[] = {0x0001, 0x0001, 0x0001};
+ static const uint16_t tis_signature[] = {0x0001, 0x0001, 0x0001};
+ uint16_t *tis_hdr;
/* MADT. */
if ( (get_vcpu_nr() > 1) || get_apic_mode() )
}
/* TPM TCPA and SSDT. */
- if ( memcmp((char *)0xFED40F00, tis_did_vid_rid,
- sizeof(tis_did_vid_rid)) == 0 ) /* Probe for TIS interface. */
+ tis_hdr = (uint16_t *)0xFED40F00;
+ if ( (tis_hdr[0] == tis_signature[0]) &&
+ (tis_hdr[1] == tis_signature[1]) &&
+ (tis_hdr[2] == tis_signature[2]) )
{
memcpy(&buf[offset], AmlCode_TPM, sizeof(AmlCode_TPM));
table_ptrs[nr_tables++] = (unsigned long)&buf[offset];